package com.chen.base.utils.file;

import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;

import java.io.File;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author: Long
 * @date: 2023/12/16 19:31
 **/
public class TxtUtil {

    /**
     * 按行读取txt文件，并按照分隔符转换为map对象
     * @param separate 分隔符
     * @return map对象
     */
    public static Map<String, String> readLineToMap(String path, String separate){
        Map<String, String> map = new HashMap<>();
        if (!new File(path).exists()){
            return map;
        }

        List<String> list = FileUtil.readUtf8Lines(path);
        for (String line : list) {
            // 如果数据行存在有效内容，并且不是注释行
            if (StrUtil.isNotBlank(line) && !line.startsWith("#")) {
                int index = line.indexOf(separate);
                if (index != -1){
                    map.put(line.substring(0, index), line.substring(index + separate.length()));
                }
            }
        }

        return map;
    }
}
